home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs05.d81 / evsbasic.arc / RECORD#.DMO (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  2KB  |  93 lines

  1. 10 (null) 0
  2. 20 PRINT" THIS IS A SIMPLE PROGRAM WHICH CREATES"
  3. 30 PRINT" A SMALL RELATIVE DISK FILE, WRITES"
  4. 40 PRINT" SOME MEANINGLESS DATA TO IT, AND READS"
  5. 50 PRINT" IT BACK ON DEMAND.  IT IS INTENDED"
  6. 60 PRINT" ONLY TO DEMONSTRATE HOW THE PROCEDURE"
  7. 70 PRINT" WORKS, AND IS ONLY A SKELETON PROGRAM."
  8. 80 PRINT" PRESS ANY KEY TO BEGIN."
  9. 90 :
  10. 100 A$=(null)(1)
  11. 110 :
  12. 200 RL=30: REM * RECORD LENGTH
  13. 205 RN=6 : REM * #RECORDS
  14. 210 :
  15. 300 PRINT"[147] MAKING SOME RECORDS"
  16. 305 GOSUB 1005
  17. 310 PRINT" OPENING A RELATIVE FILE"
  18. 315 (null)"S0:RELTESTFILE"
  19. 320 OPEN 2,8,3,"0:RELTESTFILE,L,"+CHR$(RL)
  20. 325 GOSUB 905
  21. 330 PRINT" CREATING ";RN;"EMPTY RECORDS"
  22. 335 (null)2,RN
  23. 340 GOSUB 905
  24. 345 PRINT#2,"LAST RECORD"
  25. 350 GOSUB 905
  26. 355 PRINT" WRITING ";RN;"RECORDS"
  27. 360 FOR I=1 TO RN
  28. 365 (null)2,I
  29. 370 PRINT#2,RC$(I)
  30. 375 NEXT
  31. 380 GOSUB 905
  32. 385 PRINT" CLOSING FILE"
  33. 390 CLOSE 2
  34. 395 GOSUB 905
  35. 400 :
  36. 500 PRINT" PRESS ANY KEY TO RE-OPEN"
  37. 505 PRINT" FILE AND RECOVER RECORDS"
  38. 510 A$=(null)(1)
  39. 515 :
  40. 600 (null)
  41. 605 PRINT" RE-OPENING FILE"
  42. 610 OPEN 2,8,5,"RELTESTFILE"
  43. 615 GOSUB 905
  44. 620 (null)
  45. 625 INPUT" RECORD# TO RECOVER ('0' TO QUIT)";A$
  46. 630 A=INT(VAL(A$))
  47. 635 IFA<0ORA>RNTHEN625
  48. 640 IFA=0THEN(null)
  49. 645 :
  50. 700 REM *RECOVER RECORD
  51. 705 (null)2,A
  52. 710 A$=(null)(RL,#2)
  53. 715 PRINT"   RECORD IS: ";A$
  54. 720 (null)
  55. 725 :
  56. 800 REM *QUIT
  57. 805 CLOSE2
  58. 810 :
  59. 815 PRINT" NOTE THE DOUBLE-SPACING OF RECOVERED"
  60. 820 PRINT" RECORDS WAS CAUSED BECAUSE THE LAST"
  61. 825 PRINT" CHARACTER OF EACH RECORD WAS A"
  62. 830 PRINT" CARRIAGE RETURN.  -PRINT#- ADDED THIS"
  63. 835 PRINT" WHEN THE RECORD WAS FIRST WRITTEN."
  64. 840 PRINT" FOR THIS REASON RECORD LENGTHS ARE"
  65. 845 PRINT" NORMALLY ONE CHARACTER LONGER THAN THE"
  66. 850 PRINT" NUMBER OF CHARACTERS OF INFORMATION"
  67. 855 PRINT" IN THE RECORD."
  68. 860 :
  69. 865 END
  70. 870 :
  71. 900 REM *CHECK DISK ERROR STATUS
  72. 905 PRINT"  DISK STATUS= ";(null)
  73. 910 IF (null)>20 AND (null)<>50 THEN CLOSE 2: PRINT: PRINT" UNRECOVERABLE ERROR": END
  74. 915 RETURN
  75. 920 :
  76. 1000 REM *MAKE SOME RECORDS
  77. 1005 FOR I=1 TO RN
  78. 1010 READ A$,B$
  79. 1015 C$=(null)(RL-1," ")
  80. 1020 C$=(null)(1,C$,A$)
  81. 1025 C$=(null)(15,C$,B$)
  82. 1030 RC$(I)=C$
  83. 1035 NEXT
  84. 1040 RETURN
  85. 1045 :
  86. 1100 REM *SOME MEANINGLESS DATA
  87. 1105 DATA MARY,34J
  88. 1110 DATA LARRY,91A
  89. 1115 DATA SHERRY,75P
  90. 1120 DATA BARRY,06R
  91. 1125 DATA TERRY,82M
  92. 1130 DATA GARY,16Y
  93.